<?php 

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class TestController extends Controller
{
	public function getIndex(Request $request)
	{
		// echo '2222';
		// 基本信息获取
			// 请求路径
				// echo $request -> path();
			// 检测路径
				// $res = $request -> is('admin/*');
			// 获取完整url
				// echo $request -> url();
			// 获取请求方式
				// echo $request -> method();
			// 检测方法
				// $$res = $request -> isMethod('get');
				// var_dump($res);
	}

	/*
		提取参数
	*/
	public function getParams(Request $request)
	{
		// 获取指定类型的参数
		// $res = \Input::get('id'); ::post('username');
		// 基本获取
		// $res = $request -> input('name');
		// 设置默认值
		// $res = $request -> input('sex',0);
		// 检测是否传递
		// $res = $request -> all();

		// 提取部分参数 
		// $res = $request -> only('name','id');
		// $res = $request -> except('id');//except 除了谁
		// dd($res);
	}


	// 显示表单
	public function getAdd()
	{
		// 解析模板
		return view('test.add');
	}

	// 接收表单数据
	public function postAdd(Request $request)
	{
		// 获取所有的参数
		// $res = $request -> all();
		// dd($res);

		// 闪存所有请求信息
		// $request -> flash();
		// 闪存部分信息
		// $request -> flashOnly('username','email');
		// 除了某些参数 其他都闪存
		// $resquest -> flashExcept('password');
		// 请求回退 回到第一次请求的脚本
		// return back() -> withInput();//回退并闪存所有请求信息
		return back();//回退
	}

	// 文件上传
	public function upload(Request $request)
	{
		// 检测是否有文件上传
		if($request -> hasFile('pic')){
			// 随机文件名
			$name = md5(time()+rand(1,999999));
			// 获取后缀名
			$su = $request -> file('pic') -> getClientOriginalExtension();
			// dd($su);
			$arr = array('jpg','png','jpeg','tiff');
			// 判断
			if(!in_array($su,$arr)){
				echo '<script type="text/javascript">alert("上传文件不合格");location.href="http://lamp154.cn/test/add";</script>';
			}

			// 将文件移动到指定目录下
			$request -> file('pic') -> move('/uploads',$name.'.'.$su);
			// echo '<img src="/uploads/'.$name.'.jpg" alt="">';
		}
	}

	// 读取cookie
	public function getCookie(Request $request)
	{
		// 读取
		// dd($request -> cookie('name'));
		// 读取
		echo \Cookie::get('name');
	}

	// 视图演示
	public function getDemo()
	{
		// 解析模板 
		// 分配数据
		// return view('Admin.user.add',[
			// 'title' => '后台用户添加页',
			// 'str' => 'iloveyou';
			// 'res' => '<span style="color:red">asdasdaads</span>';
		// ]);

		$arr = [
			['id' => 1,'name' => 'admin1'],
			['id' => 2,'name' => 'admin2'],
			['id' => 3,'name' => 'admin3'],
			['id' => 4,'name' => 'admin4']
		];
		return view('Admin.user.index',['total' => 80,'users' => $arr]);
	}

	/*
		laravel 数据库操作
	*/
	public function getDb()
	{
		// 在使用时注意命名空间 在前面加上空间 或者引入类
			// $res = DB::select('select * from user');
		// 使用预处理
			// $res = DB::select('select * from user where id = ?',[2]);
		// 添加
			// $res = DB::insert('insert into user(name) values(asada)');
			// 查询预处理
			// $id = DB::table('user') -> insertGetId(
				// ['name' => 'john@example.com']
				// );

		// 修改 DB::update()
		// 删除 DB::delete()

		// 其他语句操作
		// $res = DB::statement('drop table user');

		// 自动事务提交
		// DB::beginTransaction();//开启事务
		// $res = DB::update('update phone ser name = "phone" where id = 1');
			// if(!$res){
				// DB::rollback();//事务回滚
				// dd('事务回滚,1错误');
			// }
			// $res = DB::update('update phone set name="dami" where id = 2');
				// if($res){
					// DB::rollBack();//事务回滚
					// dd('事务回滚,2错误');
				// }

				// DB::commit();//事务提交

		// 构造器
			$arr = [
				'name' => 'bbbb',
				'password' => 'bbbb',
				'email' => 'admin@qq.com'
			];

			// 插入
			// $res = DB::table('users') -> insert($arr);
			// $res = DB::table('users') -> insert([$arr,$arr,$arr
				// ]);
			// 执行插入操作
			// $res = DB::table('users') -> insertGetId($arr);
			// $res = DB::table('users') -> insertGetId([$arr,$arr]);

			// 修改
			// $res = DB::table('users') -> where('id',524) -> update($arr);
			// 删除
			// $res = DB::table('users') -> where('id','<',500) -> delete();

			//  查询
				// 查询所有
				// $res = DB::table('users') -> get();
				// 查询单条
				// $res = DB::table('users') -> first();
				// $res = DB::table('users') -> where('id',524) -> get();
				// $res = DB::table('users') -> where('id',524) -> first();

			// 默认查询第一条数据中的某个字段
			// $res = DB::table('users') -> value('name');
			// $res = DB::table('users') -> where('id',524) -> value('name');
			// 获取一列数据 
			// $res = DB::table('users') -> lists('name');

			// $res = DB::table('users') -> lists('name','id');

			// 获取某一条数据中的某一个字段
			// $res = DB::table('users') -> where('id',524) -> lists('id');

			// 运行时查询sql
			// DB::connection() -> enableQueryLog();
				// 查询数据 指定字段
				// $res = DB::table('users') -> select('id','name','email as user_email') -> get();
			// dd(DB;;getQueryLog());

			// $res = DB::table('users') -> count();

			// $query = DB::table('users') -> select('id');
			// 追加一个字段
			// $users = $query -> addSelect('name') -> get();

			// dd($res);

			// love();
			// return view('user.add');
	}
}
?>